#include "Cola.h"

Cola::Cola():
	m_bVacia(true),
	m_bLlena(false),
	m_iTopIndex(0)
{
	for(int i=0; i < MAX_SIZE; i++)
	{
		m_iCositas[i] = 0;
	}
}

bool Cola::Vacia()
{
	return m_bVacia;
}

bool Cola::Llena()
{
	return m_bLlena;
}

bool Cola::Agregar(int iNum)
{
	if(m_bLlena)
	{
		return false;
	}
	m_bVacia = false;

	m_iCositas[m_iTopIndex] = iNum;
	m_iTopIndex++;

	if(m_iTopIndex == MAX_SIZE)
	{
		m_bLlena = true;
	}

	return true;
}

bool Cola::Sacar(int& iNum)
{
	if(m_bVacia)
	{
		return false;
	}
	iNum = m_iCositas[0];

	for (int i =1; i < m_iTopIndex; i++)
	{
		m_iCositas[i-1] = m_iCositas[i];
	}
	m_iTopIndex--;
	m_iCositas[m_iTopIndex] = 0;

	if(m_iTopIndex == 0)
	{
		m_bVacia = true;
	}

	return true;
}

int Cola::getIndex()
{
	return m_iTopIndex;
}